<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>tinyOS: 软定时器</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">tinyOS
   &#160;<span id="projectnumber">v1.00</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">软定时器</div>  </div>
</div><!--header-->
<div class="contents">

<p>tinyOS的定时器实现  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__t_timer.html">_tTimer</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__t_timer_info.html">_tTimerInfo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gadde5594113d4922dd2c044b7033e979c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gadde5594113d4922dd2c044b7033e979c">TIMER_CONFIG_TYPE_HARD</a>&#160;&#160;&#160;(1 &lt;&lt; 0)</td></tr>
<tr class="separator:gadde5594113d4922dd2c044b7033e979c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab47055541c84bda578ed3a9e913e4be2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gab47055541c84bda578ed3a9e913e4be2">TIMER_CONFIG_TYPE_SOFT</a>&#160;&#160;&#160;(0 &lt;&lt; 0)</td></tr>
<tr class="separator:gab47055541c84bda578ed3a9e913e4be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga61a3fc1d6f61d731f862d8925c97e184"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga5ae483b48ef1e10020eba42be4deb2ad">_tTimerState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga61a3fc1d6f61d731f862d8925c97e184">tTimerState</a></td></tr>
<tr class="separator:ga61a3fc1d6f61d731f862d8925c97e184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef50316fbeedf44c30e1d837adf5f083"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__t_timer.html">_tTimer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a></td></tr>
<tr class="separator:gaef50316fbeedf44c30e1d837adf5f083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga087c2c7bcb3d8f05103cba1af9c58ea6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__t_timer_info.html">_tTimerInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga087c2c7bcb3d8f05103cba1af9c58ea6">tTimerInfo</a></td></tr>
<tr class="memdesc:ga087c2c7bcb3d8f05103cba1af9c58ea6"><td class="mdescLeft">&#160;</td><td class="mdescRight">软硬定时器  <a href="#ga087c2c7bcb3d8f05103cba1af9c58ea6">More...</a><br /></td></tr>
<tr class="separator:ga087c2c7bcb3d8f05103cba1af9c58ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga5ae483b48ef1e10020eba42be4deb2ad"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga5ae483b48ef1e10020eba42be4deb2ad">_tTimerState</a> { <br />
&#160;&#160;<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gga5ae483b48ef1e10020eba42be4deb2ada5a03f072cc3183bc26038b39c73e97e0">tTimerCreated</a>, 
<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gga5ae483b48ef1e10020eba42be4deb2adaaf291cc8af972564c57c775a65c70fb5">tTimerStarted</a>, 
<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gga5ae483b48ef1e10020eba42be4deb2adabcc4ae59c2a81df941ffa3b3e367e95d">tTimerRunning</a>, 
<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gga5ae483b48ef1e10020eba42be4deb2ada8217513833783cfb2f446069d0bd5b56">tTimerStopped</a>, 
<br />
&#160;&#160;<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gga5ae483b48ef1e10020eba42be4deb2ada7c596d0db238155989a07e7f88a6182e">tTimerDestroyed</a>
<br />
 }</td></tr>
<tr class="separator:ga5ae483b48ef1e10020eba42be4deb2ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga2a6a895916b16bcb9b01ac53cb28e015"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga2a6a895916b16bcb9b01ac53cb28e015">tTimerInit</a> (<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *timer, uint32_t delayTicks, uint32_t durationTicks, void(*timerFunc)(void *arg), void *arg, uint32_t config)</td></tr>
<tr class="separator:ga2a6a895916b16bcb9b01ac53cb28e015"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a8932a1c16f4eb96e7a0620272d846e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga7a8932a1c16f4eb96e7a0620272d846e">tTimerStart</a> (<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *timer)</td></tr>
<tr class="separator:ga7a8932a1c16f4eb96e7a0620272d846e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7090133d856e1d8bfa5d619e7be397cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga7090133d856e1d8bfa5d619e7be397cb">tTimerStop</a> (<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *timer)</td></tr>
<tr class="separator:ga7090133d856e1d8bfa5d619e7be397cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34c554ef3abd95f382165dae86122aef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga34c554ef3abd95f382165dae86122aef">tTimerDestroy</a> (<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *timer)</td></tr>
<tr class="separator:ga34c554ef3abd95f382165dae86122aef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade22d847f45a6140702a67ace6b34978"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gade22d847f45a6140702a67ace6b34978">tTimerGetInfo</a> (<a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *timer, <a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga087c2c7bcb3d8f05103cba1af9c58ea6">tTimerInfo</a> *info)</td></tr>
<tr class="separator:gade22d847f45a6140702a67ace6b34978"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4ae5ad72b29fa9cfcf5444de2d3be63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gae4ae5ad72b29fa9cfcf5444de2d3be63">tTimerModuleTickNotify</a> (void)</td></tr>
<tr class="separator:gae4ae5ad72b29fa9cfcf5444de2d3be63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62301aa36a38ff645bdf05136b3fd6cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga62301aa36a38ff645bdf05136b3fd6cf">tTimerModuleInit</a> (void)</td></tr>
<tr class="separator:ga62301aa36a38ff645bdf05136b3fd6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6013a8ecf7fc98794f130d4bfb5f6402"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga6013a8ecf7fc98794f130d4bfb5f6402">tTimerInitTask</a> (void)</td></tr>
<tr class="separator:ga6013a8ecf7fc98794f130d4bfb5f6402"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>tinyOS的定时器实现 </p>
<dl class="section author"><dt>Author</dt><dd>01课堂 lishutong </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2017-06-01 </dd></dl>
<dl class="section version"><dt>Version</dt><dd>1.0 </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>版权所有，禁止用于商业用途 </dd></dl>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="gadde5594113d4922dd2c044b7033e979c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadde5594113d4922dd2c044b7033e979c">&#9670;&nbsp;</a></span>TIMER_CONFIG_TYPE_HARD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TIMER_CONFIG_TYPE_HARD&#160;&#160;&#160;(1 &lt;&lt; 0)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="t_timer_8h_source.html#l00060">60</a> of file <a class="el" href="t_timer_8h_source.html">tTimer.h</a>.</p>

</div>
</div>
<a id="gab47055541c84bda578ed3a9e913e4be2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab47055541c84bda578ed3a9e913e4be2">&#9670;&nbsp;</a></span>TIMER_CONFIG_TYPE_SOFT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TIMER_CONFIG_TYPE_SOFT&#160;&#160;&#160;(0 &lt;&lt; 0)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="t_timer_8h_source.html#l00061">61</a> of file <a class="el" href="t_timer_8h_source.html">tTimer.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gaef50316fbeedf44c30e1d837adf5f083"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef50316fbeedf44c30e1d837adf5f083">&#9670;&nbsp;</a></span>tTimer</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__t_timer.html">_tTimer</a>  <a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ga087c2c7bcb3d8f05103cba1af9c58ea6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga087c2c7bcb3d8f05103cba1af9c58ea6">&#9670;&nbsp;</a></span>tTimerInfo</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__t_timer_info.html">_tTimerInfo</a>  <a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga087c2c7bcb3d8f05103cba1af9c58ea6">tTimerInfo</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>软硬定时器 </p>

</div>
</div>
<a id="ga61a3fc1d6f61d731f862d8925c97e184"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga61a3fc1d6f61d731f862d8925c97e184">&#9670;&nbsp;</a></span>tTimerState</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga5ae483b48ef1e10020eba42be4deb2ad">_tTimerState</a>  <a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga61a3fc1d6f61d731f862d8925c97e184">tTimerState</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga5ae483b48ef1e10020eba42be4deb2ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5ae483b48ef1e10020eba42be4deb2ad">&#9670;&nbsp;</a></span>_tTimerState</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga5ae483b48ef1e10020eba42be4deb2ad">_tTimerState</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga5ae483b48ef1e10020eba42be4deb2ada5a03f072cc3183bc26038b39c73e97e0"></a>tTimerCreated&#160;</td><td class="fielddoc"><p>定时器已经创建 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga5ae483b48ef1e10020eba42be4deb2adaaf291cc8af972564c57c775a65c70fb5"></a>tTimerStarted&#160;</td><td class="fielddoc"><p>定时器已经启动 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga5ae483b48ef1e10020eba42be4deb2adabcc4ae59c2a81df941ffa3b3e367e95d"></a>tTimerRunning&#160;</td><td class="fielddoc"><p>定时器正在执行回调函数 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga5ae483b48ef1e10020eba42be4deb2ada8217513833783cfb2f446069d0bd5b56"></a>tTimerStopped&#160;</td><td class="fielddoc"><p>定时器已经停止 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga5ae483b48ef1e10020eba42be4deb2ada7c596d0db238155989a07e7f88a6182e"></a>tTimerDestroyed&#160;</td><td class="fielddoc"><p>定时器已经销毁 </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="t_timer_8h_source.html#l00024">24</a> of file <a class="el" href="t_timer_8h_source.html">tTimer.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga34c554ef3abd95f382165dae86122aef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga34c554ef3abd95f382165dae86122aef">&#9670;&nbsp;</a></span>tTimerDestroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tTimerDestroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *&#160;</td>
          <td class="paramname"><em>timer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>销毁定时器 timer 销毁的定时器 </p>

<p class="definition">Definition at line <a class="el" href="t_timer_8c_source.html#l00118">118</a> of file <a class="el" href="t_timer_8c_source.html">tTimer.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga34c554ef3abd95f382165dae86122aef_cgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga34c554ef3abd95f382165dae86122aef_cgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga34c554ef3abd95f382165dae86122aef_cgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga34c554ef3abd95f382165dae86122aef_cgraph">
<area shape="rect" id="node2" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga7090133d856e1d8bfa5d619e7be397cb" title="tTimerStop" alt="" coords="158,228,244,253"/>
<area shape="rect" id="node3" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="601,204,726,229"/>
<area shape="rect" id="node4" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga58e2fef327c5254062441ec2f8a101a6" title="tListRemove" alt="" coords="799,55,894,80"/>
<area shape="rect" id="node5" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga21b4efbc4cb710d7d0e71678d2b13e53" title="tTaskExitCritical" alt="" coords="606,453,721,479"/>
<area shape="rect" id="node6" href="group___xE4_xBF_xA1_xE5_x8F_xB7_xE9_x87_x8F.html#ga9946734436c2a1ab849654a72e0de0ce" title="tSemWait" alt="" coords="296,228,375,253"/>
<area shape="rect" id="node20" href="group___xE4_xBF_xA1_xE5_x8F_xB7_xE9_x87_x8F.html#ga7222219d3c608a5f9b941e17b1872731" title="tSemNotify" alt="" coords="292,328,378,353"/>
<area shape="rect" id="node7" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga0bbda829b0d83072138caad66f98899a" title="tEventWait" alt="" coords="444,100,530,125"/>
<area shape="rect" id="node13" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gaeb48f2b93febc962f23d9a6a72db9d8e" title="任务调度接口。通过它来选择下一个具体的任务，然后切换至该任务运行。 " alt="" coords="442,303,532,328"/>
<area shape="rect" id="node8" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga6f3aa47609478099b79d1520a9baf9b3" title="将任务从就绪列表中移除 " alt="" coords="598,53,729,79"/>
<area shape="rect" id="node11" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga6278d548e9b37d514acbebc25617f1b6" title="tListAddLast" alt="" coords="799,155,894,180"/>
<area shape="rect" id="node12" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga1f612696830f8adeb411745ff719377c" title="将任务加入延时队列中 " alt="" coords="610,155,717,180"/>
<area shape="rect" id="node9" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gad01c0c24187a334e78e7ba6d677306cb" title="tListCount" alt="" coords="806,104,887,129"/>
<area shape="rect" id="node10" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga63a37ae88a06249de873bb54340de517" title="tBitmapClear" alt="" coords="797,5,896,31"/>
<area shape="rect" id="node14" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gac9f0cf7d9a8b992eb7f43c84aeb1ddca" title="获取当前最高优先级且可运行的任务 " alt="" coords="595,404,732,429"/>
<area shape="rect" id="node18" href="group___hooks_xE6_x89_xA9_xE5_xB1_x95.html#gaf5f3298fd391c362d819f3a765834091" title="tHooksTaskSwitch" alt="" coords="599,253,728,279"/>
<area shape="rect" id="node19" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga0cd2c487eac7429325389fa3ee59867d" title="tTaskSwitch" alt="" coords="618,303,709,328"/>
<area shape="rect" id="node15" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#gae86fbb239ac4694acf71b11c7cc6b479" title="tBitmapGetFirstSet" alt="" coords="780,380,914,405"/>
<area shape="rect" id="node17" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga9203dd58a7f2dafed784c397861dd203" title="tListFirst" alt="" coords="811,429,882,455"/>
<area shape="rect" id="node16" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga24bbbd4e9273fa00e125cbf600c851c1" title="tBitmapPosCount" alt="" coords="962,380,1087,405"/>
<area shape="rect" id="node21" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga312cd12071f2d18172b4020079af49a2" title="tEventWaitCount" alt="" coords="426,352,547,377"/>
<area shape="rect" id="node22" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#gae1e675e01faa9fd2a37ab29b2092d646" title="tEventWakeUp" alt="" coords="432,555,542,580"/>
<area shape="rect" id="node23" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gaf2dc8b31ed5ec5aac0b7bebc21448a78" title="tListRemoveFirst" alt="" coords="603,601,724,627"/>
<area shape="rect" id="node24" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga5086649a1a0f0337850b059e6d28807e" title="将延时的任务从延时队列中唤醒 " alt="" coords="597,503,730,528"/>
<area shape="rect" id="node25" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab7c2dfbda696e43a8c35ab97731837a0" title="将任务设置为就绪状态 " alt="" coords="606,552,720,577"/>
<area shape="rect" id="node26" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga77e6ff906f4751ea7f055562b94cad54" title="tBitmapSet" alt="" coords="803,552,890,577"/>
</map>
</div>

</div>
</div>
<a id="gade22d847f45a6140702a67ace6b34978"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gade22d847f45a6140702a67ace6b34978">&#9670;&nbsp;</a></span>tTimerGetInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tTimerGetInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *&#160;</td>
          <td class="paramname"><em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga087c2c7bcb3d8f05103cba1af9c58ea6">tTimerInfo</a> *&#160;</td>
          <td class="paramname"><em>info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>查询状态信息 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timer</td><td>查询的定时器 </td></tr>
    <tr><td class="paramname">info</td><td>状态查询存储的位置 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="t_timer_8c_source.html#l00128">128</a> of file <a class="el" href="t_timer_8c_source.html">tTimer.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gade22d847f45a6140702a67ace6b34978_cgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gade22d847f45a6140702a67ace6b34978_cgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gade22d847f45a6140702a67ace6b34978_cgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gade22d847f45a6140702a67ace6b34978_cgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="156,5,281,31"/>
<area shape="rect" id="node3" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga21b4efbc4cb710d7d0e71678d2b13e53" title="tTaskExitCritical" alt="" coords="161,55,276,80"/>
</map>
</div>

</div>
</div>
<a id="ga2a6a895916b16bcb9b01ac53cb28e015"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2a6a895916b16bcb9b01ac53cb28e015">&#9670;&nbsp;</a></span>tTimerInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tTimerInit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *&#160;</td>
          <td class="paramname"><em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>delayTicks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>durationTicks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(void *arg)&#160;</td>
          <td class="paramname"><em>timerFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>初始化定时器 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timer</td><td>等待初始化的定时器 </td></tr>
    <tr><td class="paramname">delayTicks</td><td>定时器初始启动的延时ticks数。 </td></tr>
    <tr><td class="paramname">durationTicks</td><td>给周期性定时器用的周期tick数，一次性定时器无效 </td></tr>
    <tr><td class="paramname">timerFunc</td><td>定时器回调函数 </td></tr>
    <tr><td class="paramname">arg</td><td>传递给定时器回调函数的参数 </td></tr>
    <tr><td class="paramname">timerFunc</td><td>定时器回调函数 </td></tr>
    <tr><td class="paramname">config</td><td>定时器的初始配置 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="t_timer_8c_source.html#l00034">34</a> of file <a class="el" href="t_timer_8c_source.html">tTimer.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga2a6a895916b16bcb9b01ac53cb28e015_cgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga2a6a895916b16bcb9b01ac53cb28e015_cgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga2a6a895916b16bcb9b01ac53cb28e015_cgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga2a6a895916b16bcb9b01ac53cb28e015_cgraph">
<area shape="rect" id="node2" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gae1557d8978ed3d8374e2ab3f0920c860" title="tNodeInit" alt="" coords="130,5,204,31"/>
</map>
</div>

</div>
</div>
<a id="ga6013a8ecf7fc98794f130d4bfb5f6402"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6013a8ecf7fc98794f130d4bfb5f6402">&#9670;&nbsp;</a></span>tTimerInitTask()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tTimerInitTask </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>初始化软定时器任务 </p>

<p class="definition">Definition at line <a class="el" href="t_timer_8c_source.html#l00224">224</a> of file <a class="el" href="t_timer_8c_source.html">tTimer.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga6013a8ecf7fc98794f130d4bfb5f6402_cgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga6013a8ecf7fc98794f130d4bfb5f6402_cgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga6013a8ecf7fc98794f130d4bfb5f6402_cgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga6013a8ecf7fc98794f130d4bfb5f6402_cgraph">
<area shape="rect" id="node2" href="group___xE4_xBB_xBB_xE5_x8A_xA1_xE7_xAE_xA1_xE7_x90_x86.html#ga639ee038febea3c977d37585fcc8a573" title="tTaskInit" alt="" coords="157,55,227,80"/>
<area shape="rect" id="node3" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gae1557d8978ed3d8374e2ab3f0920c860" title="tNodeInit" alt="" coords="295,5,370,31"/>
<area shape="rect" id="node4" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab7c2dfbda696e43a8c35ab97731837a0" title="将任务设置为就绪状态 " alt="" coords="275,55,389,80"/>
<area shape="rect" id="node7" href="group___hooks_xE6_x89_xA9_xE5_xB1_x95.html#ga7c4f462bd1d7e22836519312218b8f1e" title="tHooksTaskInit" alt="" coords="278,104,386,129"/>
<area shape="rect" id="node5" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga6278d548e9b37d514acbebc25617f1b6" title="tListAddLast" alt="" coords="437,31,532,56"/>
<area shape="rect" id="node6" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga77e6ff906f4751ea7f055562b94cad54" title="tBitmapSet" alt="" coords="441,80,528,105"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga6013a8ecf7fc98794f130d4bfb5f6402_icgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga6013a8ecf7fc98794f130d4bfb5f6402_icgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga6013a8ecf7fc98794f130d4bfb5f6402_icgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga6013a8ecf7fc98794f130d4bfb5f6402_icgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga1949c76c0bc7d4b976d447fbaa947f53" title="空闲任务 " alt="" coords="157,5,258,31"/>
<area shape="rect" id="node3" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gae66f6b31b5ad750f1fe042a706a4e3d4" title="系统入口，完成所有功能的创建，空闲任务的创建等功能 " alt="" coords="306,5,356,31"/>
</map>
</div>

</div>
</div>
<a id="ga62301aa36a38ff645bdf05136b3fd6cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga62301aa36a38ff645bdf05136b3fd6cf">&#9670;&nbsp;</a></span>tTimerModuleInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tTimerModuleInit </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>定时器模块初始化 </p>

<p class="definition">Definition at line <a class="el" href="t_timer_8c_source.html#l00214">214</a> of file <a class="el" href="t_timer_8c_source.html">tTimer.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga62301aa36a38ff645bdf05136b3fd6cf_cgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga62301aa36a38ff645bdf05136b3fd6cf_cgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga62301aa36a38ff645bdf05136b3fd6cf_cgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga62301aa36a38ff645bdf05136b3fd6cf_cgraph">
<area shape="rect" id="node2" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gab4cbecbc9ce397733c027de83ce17f81" title="tListInit" alt="" coords="417,5,480,31"/>
<area shape="rect" id="node3" href="group___xE4_xBF_xA1_xE5_x8F_xB7_xE9_x87_x8F.html#ga1a48fab4ce73fc72b1a2ed6fa8771f8e" title="tSemInit" alt="" coords="173,31,244,56"/>
<area shape="rect" id="node4" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga5ca43de9442770133c4c2ac38e696049" title="tEventInit" alt="" coords="292,31,369,56"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga62301aa36a38ff645bdf05136b3fd6cf_icgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga62301aa36a38ff645bdf05136b3fd6cf_icgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga62301aa36a38ff645bdf05136b3fd6cf_icgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga62301aa36a38ff645bdf05136b3fd6cf_icgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gae66f6b31b5ad750f1fe042a706a4e3d4" title="系统入口，完成所有功能的创建，空闲任务的创建等功能 " alt="" coords="173,5,224,31"/>
</map>
</div>

</div>
</div>
<a id="gae4ae5ad72b29fa9cfcf5444de2d3be63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae4ae5ad72b29fa9cfcf5444de2d3be63">&#9670;&nbsp;</a></span>tTimerModuleTickNotify()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tTimerModuleTickNotify </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>通知定时模块，系统节拍tick增加 </p>

<p class="definition">Definition at line <a class="el" href="t_timer_8c_source.html#l00199">199</a> of file <a class="el" href="t_timer_8c_source.html">tTimer.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gae4ae5ad72b29fa9cfcf5444de2d3be63_cgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gae4ae5ad72b29fa9cfcf5444de2d3be63_cgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gae4ae5ad72b29fa9cfcf5444de2d3be63_cgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gae4ae5ad72b29fa9cfcf5444de2d3be63_cgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="214,5,339,31"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gae4ae5ad72b29fa9cfcf5444de2d3be63_icgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gae4ae5ad72b29fa9cfcf5444de2d3be63_icgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gae4ae5ad72b29fa9cfcf5444de2d3be63_icgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_gae4ae5ad72b29fa9cfcf5444de2d3be63_icgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga9141328add126e3c2659b2df4b969d3c" title="系统时钟节拍处理 " alt="" coords="214,5,381,31"/>
</map>
</div>

</div>
</div>
<a id="ga7a8932a1c16f4eb96e7a0620272d846e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7a8932a1c16f4eb96e7a0620272d846e">&#9670;&nbsp;</a></span>tTimerStart()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tTimerStart </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *&#160;</td>
          <td class="paramname"><em>timer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>启动定时器 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timer</td><td>等待启动的定时器 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="t_timer_8c_source.html#l00056">56</a> of file <a class="el" href="t_timer_8c_source.html">tTimer.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7a8932a1c16f4eb96e7a0620272d846e_cgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7a8932a1c16f4eb96e7a0620272d846e_cgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7a8932a1c16f4eb96e7a0620272d846e_cgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7a8932a1c16f4eb96e7a0620272d846e_cgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="449,177,574,202"/>
<area shape="rect" id="node3" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga6278d548e9b37d514acbebc25617f1b6" title="tListAddLast" alt="" coords="647,51,742,77"/>
<area shape="rect" id="node4" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga21b4efbc4cb710d7d0e71678d2b13e53" title="tTaskExitCritical" alt="" coords="454,426,569,451"/>
<area shape="rect" id="node5" href="group___xE4_xBF_xA1_xE5_x8F_xB7_xE9_x87_x8F.html#ga9946734436c2a1ab849654a72e0de0ce" title="tSemWait" alt="" coords="144,201,223,226"/>
<area shape="rect" id="node19" href="group___xE4_xBF_xA1_xE5_x8F_xB7_xE9_x87_x8F.html#ga7222219d3c608a5f9b941e17b1872731" title="tSemNotify" alt="" coords="140,301,227,326"/>
<area shape="rect" id="node6" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga0bbda829b0d83072138caad66f98899a" title="tEventWait" alt="" coords="292,73,378,98"/>
<area shape="rect" id="node12" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gaeb48f2b93febc962f23d9a6a72db9d8e" title="任务调度接口。通过它来选择下一个具体的任务，然后切换至该任务运行。 " alt="" coords="290,325,380,350"/>
<area shape="rect" id="node7" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga6f3aa47609478099b79d1520a9baf9b3" title="将任务从就绪列表中移除 " alt="" coords="446,127,577,153"/>
<area shape="rect" id="node11" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga1f612696830f8adeb411745ff719377c" title="将任务加入延时队列中 " alt="" coords="458,26,566,51"/>
<area shape="rect" id="node8" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga58e2fef327c5254062441ec2f8a101a6" title="tListRemove" alt="" coords="647,426,742,451"/>
<area shape="rect" id="node9" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gad01c0c24187a334e78e7ba6d677306cb" title="tListCount" alt="" coords="654,202,735,227"/>
<area shape="rect" id="node10" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga63a37ae88a06249de873bb54340de517" title="tBitmapClear" alt="" coords="646,127,744,153"/>
<area shape="rect" id="node13" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gac9f0cf7d9a8b992eb7f43c84aeb1ddca" title="获取当前最高优先级且可运行的任务 " alt="" coords="444,377,580,402"/>
<area shape="rect" id="node17" href="group___hooks_xE6_x89_xA9_xE5_xB1_x95.html#gaf5f3298fd391c362d819f3a765834091" title="tHooksTaskSwitch" alt="" coords="447,278,576,303"/>
<area shape="rect" id="node18" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga0cd2c487eac7429325389fa3ee59867d" title="tTaskSwitch" alt="" coords="466,327,557,353"/>
<area shape="rect" id="node14" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#gae86fbb239ac4694acf71b11c7cc6b479" title="tBitmapGetFirstSet" alt="" coords="628,377,762,402"/>
<area shape="rect" id="node16" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga9203dd58a7f2dafed784c397861dd203" title="tListFirst" alt="" coords="659,327,731,353"/>
<area shape="rect" id="node15" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga24bbbd4e9273fa00e125cbf600c851c1" title="tBitmapPosCount" alt="" coords="810,377,935,402"/>
<area shape="rect" id="node20" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga312cd12071f2d18172b4020079af49a2" title="tEventWaitCount" alt="" coords="275,275,396,301"/>
<area shape="rect" id="node21" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#gae1e675e01faa9fd2a37ab29b2092d646" title="tEventWakeUp" alt="" coords="280,527,390,553"/>
<area shape="rect" id="node22" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gaf2dc8b31ed5ec5aac0b7bebc21448a78" title="tListRemoveFirst" alt="" coords="451,574,572,599"/>
<area shape="rect" id="node23" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga5086649a1a0f0337850b059e6d28807e" title="将延时的任务从延时队列中唤醒 " alt="" coords="446,525,578,550"/>
<area shape="rect" id="node24" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab7c2dfbda696e43a8c35ab97731837a0" title="将任务设置为就绪状态 " alt="" coords="455,475,569,501"/>
<area shape="rect" id="node25" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga77e6ff906f4751ea7f055562b94cad54" title="tBitmapSet" alt="" coords="651,475,738,501"/>
</map>
</div>

</div>
</div>
<a id="ga7090133d856e1d8bfa5d619e7be397cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7090133d856e1d8bfa5d619e7be397cb">&#9670;&nbsp;</a></span>tTimerStop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tTimerStop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#gaef50316fbeedf44c30e1d837adf5f083">tTimer</a> *&#160;</td>
          <td class="paramname"><em>timer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>终止定时器 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timer</td><td>等待启动的定时器 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="t_timer_8c_source.html#l00088">88</a> of file <a class="el" href="t_timer_8c_source.html">tTimer.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7090133d856e1d8bfa5d619e7be397cb_cgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7090133d856e1d8bfa5d619e7be397cb_cgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7090133d856e1d8bfa5d619e7be397cb_cgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7090133d856e1d8bfa5d619e7be397cb_cgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="448,204,573,229"/>
<area shape="rect" id="node3" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga58e2fef327c5254062441ec2f8a101a6" title="tListRemove" alt="" coords="646,55,742,80"/>
<area shape="rect" id="node4" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga21b4efbc4cb710d7d0e71678d2b13e53" title="tTaskExitCritical" alt="" coords="453,453,569,479"/>
<area shape="rect" id="node5" href="group___xE4_xBF_xA1_xE5_x8F_xB7_xE9_x87_x8F.html#ga9946734436c2a1ab849654a72e0de0ce" title="tSemWait" alt="" coords="143,228,222,253"/>
<area shape="rect" id="node19" href="group___xE4_xBF_xA1_xE5_x8F_xB7_xE9_x87_x8F.html#ga7222219d3c608a5f9b941e17b1872731" title="tSemNotify" alt="" coords="139,328,226,353"/>
<area shape="rect" id="node6" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga0bbda829b0d83072138caad66f98899a" title="tEventWait" alt="" coords="292,100,377,125"/>
<area shape="rect" id="node12" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gaeb48f2b93febc962f23d9a6a72db9d8e" title="任务调度接口。通过它来选择下一个具体的任务，然后切换至该任务运行。 " alt="" coords="289,303,379,328"/>
<area shape="rect" id="node7" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga6f3aa47609478099b79d1520a9baf9b3" title="将任务从就绪列表中移除 " alt="" coords="445,53,576,79"/>
<area shape="rect" id="node10" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga6278d548e9b37d514acbebc25617f1b6" title="tListAddLast" alt="" coords="647,155,741,180"/>
<area shape="rect" id="node11" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga1f612696830f8adeb411745ff719377c" title="将任务加入延时队列中 " alt="" coords="457,155,565,180"/>
<area shape="rect" id="node8" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gad01c0c24187a334e78e7ba6d677306cb" title="tListCount" alt="" coords="653,104,735,129"/>
<area shape="rect" id="node9" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga63a37ae88a06249de873bb54340de517" title="tBitmapClear" alt="" coords="645,5,743,31"/>
<area shape="rect" id="node13" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gac9f0cf7d9a8b992eb7f43c84aeb1ddca" title="获取当前最高优先级且可运行的任务 " alt="" coords="443,404,579,429"/>
<area shape="rect" id="node17" href="group___hooks_xE6_x89_xA9_xE5_xB1_x95.html#gaf5f3298fd391c362d819f3a765834091" title="tHooksTaskSwitch" alt="" coords="446,253,576,279"/>
<area shape="rect" id="node18" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga0cd2c487eac7429325389fa3ee59867d" title="tTaskSwitch" alt="" coords="465,303,557,328"/>
<area shape="rect" id="node14" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#gae86fbb239ac4694acf71b11c7cc6b479" title="tBitmapGetFirstSet" alt="" coords="627,380,761,405"/>
<area shape="rect" id="node16" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga9203dd58a7f2dafed784c397861dd203" title="tListFirst" alt="" coords="658,429,730,455"/>
<area shape="rect" id="node15" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga24bbbd4e9273fa00e125cbf600c851c1" title="tBitmapPosCount" alt="" coords="809,380,934,405"/>
<area shape="rect" id="node20" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga312cd12071f2d18172b4020079af49a2" title="tEventWaitCount" alt="" coords="274,352,395,377"/>
<area shape="rect" id="node21" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#gae1e675e01faa9fd2a37ab29b2092d646" title="tEventWakeUp" alt="" coords="279,555,389,580"/>
<area shape="rect" id="node22" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gaf2dc8b31ed5ec5aac0b7bebc21448a78" title="tListRemoveFirst" alt="" coords="450,601,572,627"/>
<area shape="rect" id="node23" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga5086649a1a0f0337850b059e6d28807e" title="将延时的任务从延时队列中唤醒 " alt="" coords="445,503,577,528"/>
<area shape="rect" id="node24" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab7c2dfbda696e43a8c35ab97731837a0" title="将任务设置为就绪状态 " alt="" coords="454,552,568,577"/>
<area shape="rect" id="node25" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga77e6ff906f4751ea7f055562b94cad54" title="tBitmapSet" alt="" coords="651,552,737,577"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7090133d856e1d8bfa5d619e7be397cb_icgraph.png" border="0" usemap="#group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7090133d856e1d8bfa5d619e7be397cb_icgraph" alt=""/></div>
<map name="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7090133d856e1d8bfa5d619e7be397cb_icgraph" id="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8_ga7090133d856e1d8bfa5d619e7be397cb_icgraph">
<area shape="rect" id="node2" href="group___xE8_xBD_xAF_xE5_xAE_x9A_xE6_x97_xB6_xE5_x99_xA8.html#ga34c554ef3abd95f382165dae86122aef" title="tTimerDestroy" alt="" coords="139,5,244,31"/>
</map>
</div>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
